
package org.apache.solr.handler;

import org.apache.solr.common.util.ContentStream;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.response.SolrQueryResponse;

/**
 * Load a {@link org.apache.solr.common.util.ContentStream} into Solr
 */
public abstract class ContentStreamLoader {

    protected String errHeader;

    public String getErrHeader() {
        return errHeader;
    }

    public void setErrHeader(String errHeader) {
        this.errHeader = errHeader;
    }

    /**
     * Loaders are responsible for closing the stream
     *
     * @param req The input {@link org.apache.solr.request.SolrQueryRequest}
     * @param rsp The response, in case the Loader wishes to add anything
     * @param stream The {@link org.apache.solr.common.util.ContentStream} to add
     */
    public abstract void load(SolrQueryRequest req, SolrQueryResponse rsp, ContentStream stream) throws Exception;
}
